SuperEdge v0.2.0新版发布,支持灰度发布、新增StatefulsetGrid边缘工作负载
新特性及优化
经过社区技术讨论,本次更新主要聚焦于持续提升跨地域多机房的边缘应用管理能力以及提升节点代理组件性能和安全性两个方面,详情如下:
ServiceGroup边缘应用管理优化
ServiceGroup 用于边缘应用的区域流量管控和管理容灾,帮助用户快速把服务部署到不同机房并且使得各个服务间的请求在本机房或本地域内部即可完成,避免非必要的服务跨地域访问。
1. 新增 StatefulsetGrid 类型工作负载,支持有状态应用的区域自治
StatefulsetGrid 是原生 Kubernetes StatefulSets 在 SuperEdge 上的扩展。通过 ServiceGroup 的应用管控能力帮助用户在边缘端快速部署有状态业务,实现区域自治。现在 ServiceGroup 提供 StatefulsetGrid 、DeploymentGrid 两种容器工作负载及 ServiceGrid 的服务负载。
2. 流量区域自治能力支持 Headless Service
新增 statefulset-grid-daemon 组件,整合 ServiceGrid 及StatefulSetGrid 功能,实现了有状态服务基于 Pod FQDN 的 Headless Service 的流量区域自治能力。
3. 支持边缘应用以 NodeUnit 为粒度进行灰度发布
ServiceGroup 新增灰度发布机制,允许发布者以 yaml 的方式维护应用版本池以及灰度策略。目前支持以 NodeUnit 为灰度粒度,DeploymentGrid 和 StatefulsetGrid 均可使用该灰度能力。
lite-apiserver 节点代理组件优化
lite-apiserver 是运行在边缘节点上的轻量级 apiserver,它代理节点上所有组件和业务容器访问云端 kube-apiserver 的请求,并对请求结果做高效缓存。在云边断连的情况下,利用这些缓存提供服务,实现边缘自治的能力。
1. 支持自动更新证书
lite-apiserver 自动识别节点侧组件证书有效期,在证书失效之前自动更新证书,避免手动更新证书的麻烦和风险。
2. 缓存机制增强
lite-apiserver 可处理所有 Kubernetes 资源的 Watch Event,并据此更新对应的 List 缓存数据。
3. 新增3种缓存方式
在节点侧新增了3种本地缓存方式:内存、Badger 和 Bolt 的本地KV存储,结合v0.1版本,目前支持:本地文件、内存、Badger 和 Bolt 共4种本地缓存方式。由于内存缓存模式无数据持久化能力,只推荐在调测试时使用。
4. 支持复用策略,大大降低网络请求的连接数
通过复用网络连接,lite-apiserver 与云端 apiserver 间请求不在独占连接,大大降低连接数。
参考资料
用户案例
SuperEdge核心组件介绍
核心组件原理解析
携手社区
扫描下面的二维码加入我们的交流群,共同探讨SuperEdge、研究边缘容器技术。
项目链接:【https://github.com/superedge/superedge】
Release 链接:【https://github.com/superedge/superedge/releases/tag/v0.2.0】
变更记录:【https://github.com/superedge/superedge/blob/main/CHANGELOG/CHANGELOG-0.2.md】
项目文档:【https://github.com/superedge/superedge/tree/main/docs】